package com.xiaoc.bulldozer.common.model;

import com.xiaoc.bulldozer.common.validator.Phone;

import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * 预约表
 *
 * @author wj
 *
 * @date 2019-04-29 09:49:19
 */
public class Appointment implements Serializable {
    
    private static final long serialVersionUID = 1L;
    

    /**
     * 主键
     */
    private Long id;

    /**
     * 办理人手机号
     */
    @Phone(required = false)
    private String transactorPhone;

    /**
     * 办理人id
     */
    private Integer transactorAccountId;

    /**
     * 账号id
     */
    private Integer accountId;

    /**
     * 联系人手机号
     */
    @Phone(required = false)
    private String linkmanPhone;

    /**
     * 联系人姓名
     */
    @NotBlank(message = "联系人姓名不能为空")
    @Size(max = 10, message = "联系人参数最长为10个字符")
    private String linkmanName;

    /**
     * 区域
     */
    private String areaCode;

    /**
     * 渠道经理手机号
     */
    private String managerPhone;

    /**
     * 渠道经理账号id
     */
    private Integer managerAccountId;

    /**
     * 推荐人id
     */
    private Integer recommendAccountId;

    /**
     * 创建时间
     */
    private Long createTime;

    /**
     * 更新时间
     */
    private Long updateTime;

    /**
     * 产品ID
     */
    @NotNull(message = "产品ID参数不能为空")
    private Integer productId;


    private Integer parentUserId;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTransactorPhone() {
        return transactorPhone;
    }

    public void setTransactorPhone(String transactorPhone) {
        this.transactorPhone = transactorPhone;
    }

    public Integer getTransactorAccountId() {
        return transactorAccountId;
    }

    public void setTransactorAccountId(Integer transactorAccountId) {
        this.transactorAccountId = transactorAccountId;
    }

    public Integer getAccountId() {
        return accountId;
    }

    public void setAccountId(Integer accountId) {
        this.accountId = accountId;
    }

    public String getLinkmanPhone() {
        return linkmanPhone;
    }

    public void setLinkmanPhone(String linkmanPhone) {
        this.linkmanPhone = linkmanPhone;
    }

    public String getLinkmanName() {
        return linkmanName;
    }

    public void setLinkmanName(String linkmanName) {
        this.linkmanName = linkmanName;
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public String getManagerPhone() {
        return managerPhone;
    }

    public void setManagerPhone(String managerPhone) {
        this.managerPhone = managerPhone;
    }

    public Integer getManagerAccountId() {
        return managerAccountId;
    }

    public void setManagerAccountId(Integer managerAccountId) {
        this.managerAccountId = managerAccountId;
    }

    public Integer getRecommendAccountId() {
        return recommendAccountId;
    }

    public void setRecommendAccountId(Integer recommendAccountId) {
        this.recommendAccountId = recommendAccountId;
    }

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    public Long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Long updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getProductId() {
        return productId;
    }

    public void setProductId(Integer productId) {
        this.productId = productId;
    }

    public Integer getParentUserId() {
        return parentUserId;
    }

    public void setParentUserId(Integer parentUserId) {
        this.parentUserId = parentUserId;
    }
}
